package com.lin.java.tool.file.service;


import com.baomidou.mybatisplus.extension.service.IService;

import com.lin.java.tool.common.model.DataPage;
import com.lin.java.tool.common.model.QueryPage;
import com.lin.java.tool.file.dao.po.SysFileConfigEntity;
import com.lin.java.tool.file.service.vo.FileConfigVO;

import java.util.List;

/**
 * @作者: 林江
 * @创建时间: 2024/3/22
 * @功能:
 */
public interface FileConfigService extends IService<SysFileConfigEntity> {

    /**
     * 分页条件查询
     *
     * @param page
     * @return
     */
    DataPage<SysFileConfigEntity> listPage(QueryPage page);

    /**
     * 添加文件配置
     *
     * @param body
     * @return
     */
    Boolean add(FileConfigVO body);

    /**
     * 编辑文件配置
     *
     * @param body
     * @return
     */
    Boolean edit(FileConfigVO body);

    /**
     * 根据id删除文件配置
     *
     * @param id
     * @return
     */
    Boolean deleteById(Long id);

    SysFileConfigEntity getByFileConfigKey(String fileConfigKey);

    void removeByFileConfigKey(String fileConfigKey);

    /**
     * 获取启用中的文件配置
     */
    List<SysFileConfigEntity> listByEnable();

    void updateStatus(Long id, Integer status);
}
